.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E544990]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E5260A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1D3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC76718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E526148
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E525AB8]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E507E90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,1D3
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC56718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E507F30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E545AB8]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E527E90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1D3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC76718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E527F30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E535AB8]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E517F20
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1D3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC66718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E517FC0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E535D28]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E517FA0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1D3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC66718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E518040
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E535D28]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E518540
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1D3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC66718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E5185E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E62FE88]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E638978
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,1D3
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC86718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,1B3
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E638A18
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,offset MD_DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IDictionary`2>, System.String, DotNetTips.Spargine.Tester.Models.RefTypes.Person`1)
call      qword ptr [7FFE7E6E5AB8]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FFE7E6C65E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,1D3
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FFE7DC56718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6C6680
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,298F5C0F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E524A38]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,298F5C0F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA54210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,298F5C0F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF45705380
call      rax
mov       rdi,[rbp-40]
mov       rdx,298F5C001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE7E5C0DB0]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE7E5060D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE7DC96898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE7D9110F8
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE7E505FF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DC967F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E5C0FA8]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA541F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,278A4C0F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E525B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,278A4C0F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA54210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,278A4C0F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF45705380
call      rax
mov       rbx,[rbp-58]
mov       rdx,278A4C001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE7E5C1C30]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FFE7E507EB8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF45705380
call      rax
mov       rbx,[rbp-58]
mov       rdx,278A4C001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE7E5C1C30]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FFE7E507EB8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FFE7DC96898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FFE7D9110F8
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FFE7DC96898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FFE7E507DE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DC967F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E5C1E38]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA541F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,14B4640F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E555B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,14B4640F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA84210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,14B4640F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF45705380
call      rax
mov       rbx,[rbp-58]
mov       rdx,14B464001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE7E5F1D90]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FFE7E537EB8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF45705380
call      rax
mov       rbx,[rbp-58]
mov       rdx,14B464001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE7E5F1D90]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FFE7E537EB8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FFE7DCC6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FFE7D9410F8
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FFE7DCC6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FFE7E537DE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FFE7D941100
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FFE7D941100
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DCC67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E5F1F98]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA841F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,1817D80F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E525B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,1817D80F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA54210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1817D80F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF45705380
call      rax
mov       rdi,[rbp-40]
mov       rdx,1817D8001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE7E5C1BD0]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE7E507EB8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE7DC96898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE7D9110F8
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE7E507DE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DC967F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E5C1DC8]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA541F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,2B06AC021B8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E525DD0]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,2B06AC021B0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA54210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,2B06AC021B8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF45705380
call      rax
mov       rbx,[rbp-58]
mov       rdx,2B062C001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE7E5C1DD0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FFE7E508058
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FFF45705380
call      rax
mov       rbx,[rbp-58]
mov       rdx,2B062C001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FFE7E5C1DD0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FFE7E508058
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FFE7DC96898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FFE7D9110F8
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FFE7DC96898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FFE7E507F80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FFE7DDC7A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DC967F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E5C1FD8]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA541F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,2C2FB00D750
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E555B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,2C2FB00D748
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA84210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,2C2FB00D750
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF45705380
call      rax
mov       rdi,[rbp-40]
mov       rdx,2C2FF0001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE7E5F1D30]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE7E5384E8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE7DCC6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE7D9410F8
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE7E538410
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE7D941100
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,[rbp-58]
mov       r11,7FFE7D941100
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DCC67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E5F1F28]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA841F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,2833FC021B8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E6B7CD8]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,2833FC021B0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA84210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,2833FC021B8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF45705380
call      rax
mov       rdi,[rbp-40]
mov       rdx,28337C001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE7E5FB670]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE7E6AA040
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE7DCC6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE7D941318
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE7E6A9F68
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE7D941320
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FFE7D941320
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DCC67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E5FB868]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA841F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,205DE00F748
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,offset MD_System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, System.Func`2>,Boolean>)
call      qword ptr [7FFE7E705B60]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func`2[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib],[System.Boolean, System.Private.CoreLib]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,205DE00F740
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FFE7DA74210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,205DE00F748
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FFF45705380
call      rax
mov       rdi,[rbp-40]
mov       rdx,205DE0001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FFEDD91A0DC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FFE7E769470]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FFE7E6E6968
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FFE7DCB6898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FFE7D931B98
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FFE7E6E6890
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FFE7DDE7A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FFE7DDE7A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FFE7D931BA0
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FFE7D931BA0
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FFE7DCB67F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FFE7E769668]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FFE7DA741F8]
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E544C78]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E5459B0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E546838]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6F3FB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6F3FC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4250
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E53AEA0]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D931110
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4290
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDD0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC76790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6F3FB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4250
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E546868]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D931118
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D931118
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,14882AC0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E546010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E546D48]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E54C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6F5758
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5770
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6F59F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5A18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E53F120]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D930FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5A38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDD0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC76790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5758
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6F59F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E54C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D930FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D930FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,24B41510008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E526010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E526D48]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E52C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6D58E8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5900
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5B88
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5BA8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E51F120]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D910FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5BC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDB0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC56790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6D58E8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5B88
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E52C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D910FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D910FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1D985CF0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E516010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF6FB58]
mov       ecx,43
mov       rdx,7FFE7DF479C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDD6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA46B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF479C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA46B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF6F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC46718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E516D48]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA44360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E51C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6C5760
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6C5778
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6C5A00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6C5A20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E50F120]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D900FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6C5A40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDB5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDA0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC46790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6C5760
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA44360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6C5A00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E51C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D900FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D900FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DAF5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DAF5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDB5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,27396060008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E525DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E526AD8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E52C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6D5750
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5768
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6D59F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5A10
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E51ED20]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D910FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5A30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDB0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC56790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6D5750
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6D59F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E52C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D910FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D910FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1F77E3B0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E556010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E556D48]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E55C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E705BF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E705C08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E705E90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E705EB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E54F770]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D940FF0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E705ED0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDE0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC86790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E705BF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E705E90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E55C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D940FF8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D940FF8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2BE82F80008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E627588]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E62C630]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E62D4B8]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E73B2E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E73B2F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E73B580
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E73B5A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6387C8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D911318
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E73B5C0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDB0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC56790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E73B2E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E73B580
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E62D4E8]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D911320
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D911320
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,228BE2B0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FFE7E6E5DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E6E6AD8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E6EC018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E74B710
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E74B728
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E74B9B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E74B9D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6F0BF8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D911BA0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E74B9F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDB0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC56790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E74B710
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E74B9B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E6EC048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D911BA8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D911BA8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1A7D49D0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D9210F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D921108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D921100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,21EB3400008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D9410F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D941108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D941100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,1B3
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,29EDAB50008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D9110F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D911108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D911100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1C537220008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D9210F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D921108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D921100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1ABB69C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D9110F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D911108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D911100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,277FA580008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D9310F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D931108
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D931100
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,3161D4A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D9212F8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D921308
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D921300
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2B8CCBE0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D911B88
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FFE7D911B98
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FFE7D911B90
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,22AC4EE0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DEFE070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DEFE058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DEFE0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA54348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E6C0A18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E6C0A38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E6C0A78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE7E6C0A58
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE7DA54330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rdi,rcx
mov       esi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      esi,esi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,esi
cmovl     ebx,esi
mov       ecx,ebx
call      qword ptr [7FFE7DEFE760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,esi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       esi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,esi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       esi
cmp       r13d,esi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rsi,rax
mov       r12,[rdi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E69FA60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E69FA78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,16493C01D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,16493C01960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E69FAA0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE7DA54390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE7E69FA88
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rdi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rdi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rdi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       esi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1345A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DB0D470]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rdi],edi
mov       esi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E5275E8]
int       3
M02_L18
 
mov       rcx,16493C002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,16493C01968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,16493C002E0
xor       ecx,ecx
mov       rdx,16493C01970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E69FA78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rdi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DEFE250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D911118
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E6C0BB8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E134AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E134588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA5F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDC5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E6C0B98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D911120
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D911120
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1A521B90008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DF0E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DF0E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DF0E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E6D1758
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E6D1778
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E6D17B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE7E6D1798
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE7DF0E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E6D0D00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E6D0D18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,23A34001D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,23A34001960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E6D0D40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE7E6D0D28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1445A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE7DB1D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E53CD80]
int       3
M02_L18
 
mov       rcx,23A340002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,23A34001968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,23A340002E0
xor       ecx,ecx
mov       rdx,23A34001970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E6D0D18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DF0E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D920FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E6D18F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E144AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E144588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA6F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDD5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E6D18D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D921000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D921000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,27AC6000008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DF0E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DF0E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DF0E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E6D1D50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E6D1D70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E6D1DB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE7E6D1D90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE7DF0E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E6D0DF8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E6D0E10
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,1B555801D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,1B555801960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E6D0E38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE7E6D0E20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1445A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE7DB1D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E53CD80]
int       3
M02_L18
 
mov       rcx,1B5558002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,1B555801968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,1B5558002E0
xor       ecx,ecx
mov       rdx,1B555801970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E6D0E10
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DF0E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D920FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E6D1EF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E144AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E144588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA6F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDD5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E6D1ED0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D921000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D921000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1F5E76D0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DEFE070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DEFE058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DEFE0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA54348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E6C1C70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E6C1C90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E6C1CD0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE7E6C1CB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE7DA54330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE7DEFE760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E6C0D18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E6C0D30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,24B83801D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,24B83801960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E6C0D58
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE7DA54390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE7E6C0D40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1345A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE7DB0D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E52CE40]
int       3
M02_L18
 
mov       rcx,24B838002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,24B83801968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,24B838002E0
xor       ecx,ecx
mov       rdx,24B83801970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E6C0D30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DEFE250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D910FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E6C1E10
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E134AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E134588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA5F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDC5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E6C1DF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D911000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D911000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,28C156C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DF1E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DF1E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DF1E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E6E1D78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E6E1D98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E6E1DD8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE7E6E1DB8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE7DF1E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E6E0E20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E6E0E38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA7FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,1F99D401D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,1F99D401960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E6E0E60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE7DA74390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE7E6E0E48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF29A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1545A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE7DB2D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE7DF29A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E54CE40]
int       3
M02_L18
 
mov       rcx,1F99D4002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,1F99D401968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,1F99D4002E0
xor       ecx,ecx
mov       rdx,1F99D401970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E6E0E38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA7FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DF1E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D930FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E6E1F18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF29A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E154AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E154588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA7F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDE5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E6E1EF8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D931000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D931000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,23A2B270008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DF0E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DF0E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DF0E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E6D2690
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E6D26B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E6D26F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FFE7E6D26D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE7DF0E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E6D13A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E6D13B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,18654C01D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,18654C01960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E6D13E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FFE7E6D13C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1445A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE7DB1D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E53CD80]
int       3
M02_L18
 
mov       rcx,18654C002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,18654C01968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,18654C002E0
xor       ecx,ecx
mov       rdx,18654C01970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E6D13B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DF0E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D920FF8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E6D2830
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E144AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E144588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA6F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDD5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E6D2810
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D921000
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D921000
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1C6E6B70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DF0E070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DF0E058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DF0E0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E749D20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        short M01_L05
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE7E749D40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L03
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L04
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E749D60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L07
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
je        short M01_L10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L08
jmp       short M01_L09
M01_L08
 
mov       rcx,rbx
mov       rdx,7FFE7E749D80
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L09
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       near ptr M01_L04
M01_L10
 
mov       eax,1F
jmp       near ptr M01_L04
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L16
test      ebx,ebx
jl        near ptr M02_L18
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE7DF0E760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E7473E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E7473F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,25750401D60
cmp       rbp,[rcx]
jne       short M02_L08
mov       rcx,25750401960
mov       rax,[rcx]
jmp       short M02_L09
M02_L08
 
mov       rax,257504002D8
cmp       rbp,[rax]
jne       near ptr M02_L19
mov       rcx,25750401968
mov       rax,[rcx]
M02_L09
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L10
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L11
jmp       short M02_L12
M02_L11
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E747420
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L12
 
mov       rdx,r8
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L13
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L14
jmp       short M02_L15
M02_L14
 
mov       rcx,r12
mov       rdx,7FFE7E747408
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L15
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L16
 
cmp       edi,0FFFFFFFF
je        short M02_L17
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1445A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE7DB1D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L17
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L18
 
mov       ecx,0B98
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E4C4558]
int       3
M02_L19
 
mov       rcx,257504002E0
xor       eax,eax
mov       rdx,25750401970
cmp       rbp,[rcx]
cmove     rax,[rdx]
mov       r8,rax
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L10
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E7473F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L13
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L13
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DF0E250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D921318
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E749EB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF19A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E144AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E144588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA6F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDD5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E749E90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D921320
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D921320
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,297E23A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FFE7DEFE070]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FFE7DEFE058]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FFE7DEFE0B8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E7D17D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA54348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        short M01_L05
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0C8]
test      r11,r11
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE7E7D17F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L03
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L04
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D0]
test      rcx,rcx
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E7D1810
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L07
 
mov       rdx,rsi
call      qword ptr [7FFE7DA54330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
je        short M01_L10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D8]
test      r11,r11
je        short M01_L08
jmp       short M01_L09
M01_L08
 
mov       rcx,rbx
mov       rdx,7FFE7E7D1830
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L09
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       near ptr M01_L04
M01_L10
 
mov       eax,1F
jmp       near ptr M01_L04
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L16
test      ebx,ebx
jl        near ptr M02_L18
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FFE7DEFE760]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A0]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FFE7E71F258
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0A8]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FFE7E71F270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,23416C01D60
cmp       rbp,[rcx]
jne       short M02_L08
mov       rcx,23416C01960
mov       rax,[rcx]
jmp       short M02_L09
M02_L08
 
mov       rax,23416C002D8
cmp       rbp,[rax]
jne       near ptr M02_L19
mov       rcx,23416C01968
mov       rax,[rcx]
M02_L09
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L10
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L11
jmp       short M02_L12
M02_L11
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FFE7E71F298
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L12
 
mov       rdx,r8
call      qword ptr [7FFE7DA54390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L13
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L14
jmp       short M02_L15
M02_L14
 
mov       rcx,r12
mov       rdx,7FFE7E71F280
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L15
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L16
 
cmp       edi,0FFFFFFFF
je        short M02_L17
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FFE7E1345A0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FFE7DB0D470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L17
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L18
 
mov       ecx,0B98
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FFE7E4B4648]
int       3
M02_L19
 
mov       rcx,23416C002E0
xor       eax,eax
mov       rdx,23416C01970
cmp       rbp,[rcx]
cmove     rax,[rdx]
mov       r8,rax
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L10
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0A8]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FFE7E71F270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L13
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L13
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E0]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E8]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FFE7DEFE250]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FFE7D911BA0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FFE7E7D1960
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FFE7DF09A40
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E134AE0]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FFE7E134588]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA5F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FFE7DDC5E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FFE7E7D1940
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FFE7D911BA8
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FFE7D911BA8
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,27498B00008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E5254B8]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E525500]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L06
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA5EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L07
cmp       qword ptr [rbp+20],0
je        near ptr M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       short M01_L10
M01_L05
 
mov       rdx,7FFE7E536598
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rdx,7FFE7E5355C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L07
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L09
jmp       short M01_L10
M01_L08
 
mov       rdx,7FFE7E535A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA5EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E535B80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA5EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FFE7D911050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E535A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FFE7E535B60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FFE7E5355C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FFE7E524D20]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FFE7E536428
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FFE7E5355C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FFE7E524D20]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FFE7E515190
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E525590]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D911058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA5EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L42
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E538688
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA5FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L48
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA54390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E5386C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA5ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DEFEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA54390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E538788
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA5ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DEFEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        near ptr M02_L19
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L20
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L20
jmp       near ptr M02_L21
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-44]
xor       eax,eax
M02_L16
 
movzx     eax,al
mov       [rbp-48],eax
test      r15d,r15d
je        near ptr M02_L54
mov       [rbp-88],rdx
mov       [rbp-80],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE7E52DE30]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-48]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
je        near ptr M02_L54
M02_L17
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L32
test      r13d,r13d
jl        short M02_L18
test      eax,eax
jne       near ptr M02_L66
cmp       r15d,1
je        near ptr M02_L73
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L29
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L29
jmp       near ptr M02_L30
M02_L18
 
test      eax,eax
je        near ptr M02_L59
test      r8d,r8d
jne       near ptr M02_L56
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       near ptr M02_L23
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        near ptr M02_L23
jmp       near ptr M02_L24
M02_L19
 
mov       r15d,edx
jmp       near ptr M02_L09
M02_L20
 
mov       rcx,rbx
mov       rdx,7FFE7E539498
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E52D590]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L49
lea       rdx,[rdi+10]
mov       r8d,[rbp-8C]
mov       [rbp-0A8],rdx
mov       [rbp-6C],r8d
mov       rcx,1F3348002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-44],r10d
test      r10d,r10d
je        near ptr M02_L15
mov       [rbp-88],rdx
mov       [rbp-80],r8d
lea       rcx,[rbp-88]
call      qword ptr [7FFE7E52DE60]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
jmp       near ptr M02_L16
M02_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L26
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L26
jmp       short M02_L27
M02_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E53FF80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L24
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E52F0A8]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L25
 
mov       r12,rax
jmp       short M02_L22
M02_L26
 
mov       rcx,rbx
mov       rdx,7FFE7E53A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L27
 
mov       rax,r12
test      rax,rax
je        short M02_L28
cmp       [rax],rcx
je        short M02_L28
mov       rdx,r12
call      qword ptr [7FFE7DA543F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L28
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E53CA48
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E52F0A8]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L31
 
jmp       near ptr M02_L22
M02_L32
 
test      eax,eax
je        near ptr M02_L39
test      r8d,r8d
jne       short M02_L35
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L33
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L33
jmp       short M02_L34
M02_L33
 
mov       rcx,rbx
mov       rdx,7FFE7E53B7A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L34
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E554948]
jmp       short M02_L38
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L36
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L37
M02_L36
 
mov       rcx,rbx
mov       rdx,7FFE7E53AF10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L37
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E52FDE0]
M02_L38
 
mov       r12,r15
jmp       near ptr M02_L22
M02_L39
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L40
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L40
jmp       short M02_L41
M02_L40
 
mov       rcx,rbx
mov       rdx,7FFE7E53A558
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L41
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E52F1E0]
mov       r12,r15
jmp       near ptr M02_L22
M02_L42
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L45
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E538518
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E52CB28]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L45
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E537DD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E527CC0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L48
 
mov       rcx,1F3348002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1F3348002E0
cmp       rdi,[rcx]
jne       near ptr M02_L42
jmp       near ptr M02_L02
M02_L49
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L51
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L53
M02_L50
 
mov       [rbp-98],rax
jmp       short M02_L52
M02_L51
 
mov       [rbp-98],rax
M02_L52
 
mov       rcx,rbx
mov       rdx,7FFE7E53A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L53
 
mov       rdx,rax
call      qword ptr [7FFE7DA543D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L54
 
mov       rcx,1F328812C10
mov       r9,[rcx]
mov       [rbp-0B0],rdx
mov       [rbp-70],r8d
mov       [rbp-4C],eax
mov       [rbp-50],r10d
test      r9,r9
jne       short M02_L55
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0A0],r9
mov       rdx,1F328812C08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA54210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1F328812C10
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0A0]
M02_L55
 
mov       rdx,[rbp-0B0]
mov       [rbp-88],rdx
mov       r8d,[rbp-70]
mov       [rbp-80],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FFE7E52DE48]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L17
M02_L56
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L57
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE7E53F6F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E55D3B0]
mov       rax,r12
jmp       near ptr M02_L25
M02_L59
 
cmp       r15d,1
je        short M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L60
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE7E53EC68
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E55C930]
jmp       short M02_L65
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L63
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FFE7E53E3E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E557DF8]
M02_L65
 
jmp       near ptr M02_L22
M02_L66
 
test      r8d,r8d
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L67
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE7E53DB58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E557378]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L70
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE7E53D2D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5568F8]
M02_L72
 
jmp       near ptr M02_L22
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L74
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE7E53C1C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5553F8]
jmp       near ptr M02_L31
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E536850]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E536898]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE7DA64360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA64360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        short M01_L06
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA6EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L09
cmp       qword ptr [rbp+20],0
je        near ptr M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L06
jmp       short M01_L10
M01_L05
 
mov       rdx,7FFE7E550980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L07
 
mov       rdx,7FFE7E54F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,7FFE7E54FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L06
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA6EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E54FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA6EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FFE7D921050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L06
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E54FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FFE7E54FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FFE7E54F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FFE7E5360B8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FFE7E550810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FFE7E54F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FFE7E5360B8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FFE7E529410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E536928]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D921058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA6EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L30
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E552A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L36
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E552AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA6ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DF0EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E552B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA6ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DF0EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L16
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L16
jmp       short M02_L17
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       rcx,rbx
mov       rdx,7FFE7E553880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L17
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E53E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L37
lea       r10,[rdi+10]
mov       r11d,[rbp-8C]
mov       [rbp-0A8],r10
mov       [rbp-6C],r11d
mov       rcx,24F5E0002E0
xor       r9d,r9d
cmp       r14,[rcx]
sete      r9b
mov       [rbp-44],r9d
test      r9d,r9d
jne       near ptr M02_L42
xor       r8d,r8d
movzx     edx,r8b
test      r15d,r15d
je        near ptr M02_L43
M02_L18
 
mov       [rbp-88],r10
mov       [rbp-80],r11d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       [rbp-48],edx
mov       r8d,r9d
mov       r9d,r15d
call      qword ptr [7FFE7E53F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       edx,[rbp-48]
mov       r9d,[rbp-44]
mov       r10,[rbp-0A8]
mov       r11d,[rbp-6C]
je        near ptr M02_L43
M02_L19
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L65
test      r13d,r13d
jl        short M02_L20
test      eax,eax
jne       near ptr M02_L55
cmp       r15d,1
je        near ptr M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L24
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L24
jmp       near ptr M02_L25
M02_L20
 
test      eax,eax
je        near ptr M02_L48
test      r8d,r8d
jne       near ptr M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L21
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE7E55A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E574480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
jmp       short M02_L26
M02_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E556E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L25
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E574480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L27
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L27
jmp       short M02_L28
M02_L27
 
mov       rcx,rbx
mov       rdx,7FFE7E554950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L28
 
mov       rax,r12
test      rax,rax
je        short M02_L29
cmp       [rax],rcx
je        short M02_L29
mov       rdx,r12
call      qword ptr [7FFE7DA643F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L29
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L30
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L33
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L31
jmp       short M02_L32
M02_L31
 
mov       rcx,rbx
mov       rdx,7FFE7E552900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L32
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E53DE90]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L33
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L34
jmp       short M02_L35
M02_L34
 
mov       rcx,rbx
mov       rdx,7FFE7E5521C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L35
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E53D2C0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L36
 
mov       rcx,24F5E0002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,24F5E0002E0
cmp       rdi,[rcx]
jne       near ptr M02_L30
jmp       near ptr M02_L02
M02_L37
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L39
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L38
jmp       short M02_L41
M02_L38
 
mov       [rbp-98],rax
jmp       short M02_L40
M02_L39
 
mov       [rbp-98],rax
M02_L40
 
mov       rcx,rbx
mov       rdx,7FFE7E554950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L41
 
mov       rdx,rax
call      qword ptr [7FFE7DA643D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L42
 
mov       [rbp-88],r10
mov       [rbp-80],r11d
lea       rcx,[rbp-88]
call      qword ptr [7FFE7E53F1C8]
mov       r8d,eax
movzx     edx,r8b
mov       eax,edx
test      r15d,r15d
mov       edx,eax
mov       r9d,[rbp-44]
mov       r10,[rbp-0A8]
mov       r11d,[rbp-6C]
jne       near ptr M02_L18
M02_L43
 
mov       rcx,24F5E014C08
mov       rax,[rcx]
mov       [rbp-0B0],r10
mov       [rbp-70],r11d
mov       [rbp-4C],edx
mov       [rbp-50],r9d
test      rax,rax
jne       short M02_L44
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       [rbp-0A0],rax
mov       rdx,24F5E014C00
mov       rdx,[rdx]
mov       rcx,rax
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA64210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,24F5E014C08
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,[rbp-0A0]
M02_L44
 
mov       r8,[rbp-0B0]
mov       [rbp-88],r8
mov       r10d,[rbp-70]
mov       [rbp-80],r10d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       r8d,r8d
mov       [rsp+30],r8d
mov       [rsp+38],r8d
mov       [rsp+40],rax
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FFE7E53F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L19
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E559AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E57E8B0]
mov       rax,r12
jmp       near ptr M02_L23
M02_L48
 
cmp       r15d,1
je        short M02_L51
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L49
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L49
jmp       short M02_L50
M02_L49
 
mov       rcx,rbx
mov       rdx,7FFE7E559050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L50
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E57DE30]
jmp       short M02_L54
M02_L51
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L52
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L52
jmp       short M02_L53
M02_L52
 
mov       rcx,rbx
mov       rdx,7FFE7E5587C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L53
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E57D3B0]
M02_L54
 
jmp       near ptr M02_L26
M02_L55
 
test      r8d,r8d
jne       short M02_L58
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L56
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L56
jmp       short M02_L57
M02_L56
 
mov       rcx,rbx
mov       rdx,7FFE7E557F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L57
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E57C930]
jmp       short M02_L61
M02_L58
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L59
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L59
jmp       short M02_L60
M02_L59
 
mov       rcx,rbx
mov       rdx,7FFE7E5576B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L60
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E577C30]
M02_L61
 
jmp       near ptr M02_L26
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L63
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FFE7E5565A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E576730]
jmp       near ptr M02_L26
M02_L65
 
test      eax,eax
je        near ptr M02_L72
test      r8d,r8d
jne       short M02_L68
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L66
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L66
jmp       short M02_L67
M02_L66
 
mov       rcx,rbx
mov       rdx,7FFE7E555B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L67
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E575C80]
jmp       short M02_L71
M02_L68
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L69
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L69
jmp       short M02_L70
M02_L69
 
mov       rcx,rbx
mov       rdx,7FFE7E5552F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L70
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5751B8]
M02_L71
 
mov       r12,r15
jmp       near ptr M02_L26
M02_L72
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L73
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L73
jmp       short M02_L74
M02_L73
 
mov       rcx,rbx
mov       rdx,7FFE7E554940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L74
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5745B8]
mov       r12,r15
jmp       near ptr M02_L26
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E516850]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E516898]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA4FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
M01_L01
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+18]
test      rax,rax
je        near ptr M01_L06
M01_L02
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA44360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA44360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA4EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L07
cmp       qword ptr [rbp+20],0
je        short M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       short M01_L10
M01_L05
 
mov       rdx,7FFE7E530980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rdx,7FFE7E52F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L02
M01_L07
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L09
jmp       short M01_L10
M01_L08
 
mov       rdx,7FFE7E52FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA4EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E52FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA4EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FFE7D901050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E52FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FFE7E52FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FFE7E52F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FFE7E5160B8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FFE7E530810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FFE7E52F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FFE7E5160B8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FFE7E509410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E516928]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D901058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA4EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E532A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA4FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L37
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA44390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E532AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA4ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DEEEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA44390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E532B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA4ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DEEEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        near ptr M02_L19
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L20
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L20
jmp       near ptr M02_L21
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-44]
xor       eax,eax
M02_L16
 
movzx     eax,al
mov       [rbp-48],eax
test      r15d,r15d
je        near ptr M02_L43
mov       [rbp-88],rdx
mov       [rbp-80],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE7E51F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-48]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
je        near ptr M02_L43
M02_L17
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L65
test      r13d,r13d
jl        short M02_L18
test      eax,eax
jne       near ptr M02_L55
cmp       r15d,1
je        near ptr M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L22
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L22
jmp       near ptr M02_L23
M02_L18
 
test      eax,eax
je        near ptr M02_L48
test      r8d,r8d
jne       near ptr M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       near ptr M02_L25
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        near ptr M02_L25
jmp       near ptr M02_L26
M02_L19
 
mov       r15d,edx
jmp       near ptr M02_L09
M02_L20
 
mov       rcx,rbx
mov       rdx,7FFE7E533880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E51E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L38
lea       rdx,[rdi+10]
mov       r8d,[rbp-8C]
mov       [rbp-0A8],rdx
mov       [rbp-6C],r8d
mov       rcx,1C5FC4002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-44],r10d
test      r10d,r10d
je        near ptr M02_L15
mov       [rbp-88],rdx
mov       [rbp-80],r8d
lea       rcx,[rbp-88]
call      qword ptr [7FFE7E51F1C8]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
jmp       near ptr M02_L16
M02_L22
 
mov       rcx,rbx
mov       rdx,7FFE7E536E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L23
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E554480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L28
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L28
jmp       short M02_L29
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE7E53A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E554480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L27
 
mov       r12,rax
jmp       short M02_L24
M02_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E534950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L29
 
mov       rax,r12
test      rax,rax
je        short M02_L30
cmp       [rax],rcx
je        short M02_L30
mov       rdx,r12
call      qword ptr [7FFE7DA443F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L30
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L34
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE7E532900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E51DE90]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L35
jmp       short M02_L36
M02_L35
 
mov       rcx,rbx
mov       rdx,7FFE7E5321C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L36
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E51D2C0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L37
 
mov       rcx,1C5FC4002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1C5FC4002E0
cmp       rdi,[rcx]
jne       near ptr M02_L31
jmp       near ptr M02_L02
M02_L38
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L40
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L39
jmp       short M02_L42
M02_L39
 
mov       [rbp-98],rax
jmp       short M02_L41
M02_L40
 
mov       [rbp-98],rax
M02_L41
 
mov       rcx,rbx
mov       rdx,7FFE7E534950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L42
 
mov       rdx,rax
call      qword ptr [7FFE7DA443D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L43
 
mov       rcx,1C5FC414C08
mov       r9,[rcx]
mov       [rbp-0B0],rdx
mov       [rbp-70],r8d
mov       [rbp-4C],eax
mov       [rbp-50],r10d
test      r9,r9
jne       short M02_L44
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0A0],r9
mov       rdx,1C5FC414C00
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA44210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1C5FC414C08
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0A0]
M02_L44
 
mov       rdx,[rbp-0B0]
mov       [rbp-88],rdx
mov       r8d,[rbp-70]
mov       [rbp-80],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FFE7E51F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L17
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E539AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E55E8B0]
mov       rax,r12
jmp       near ptr M02_L27
M02_L48
 
cmp       r15d,1
je        short M02_L51
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L49
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L49
jmp       short M02_L50
M02_L49
 
mov       rcx,rbx
mov       rdx,7FFE7E539050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L50
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E55DE30]
jmp       short M02_L54
M02_L51
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L52
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L52
jmp       short M02_L53
M02_L52
 
mov       rcx,rbx
mov       rdx,7FFE7E5387C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L53
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E55D3B0]
M02_L54
 
jmp       near ptr M02_L24
M02_L55
 
test      r8d,r8d
jne       short M02_L58
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L56
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L56
jmp       short M02_L57
M02_L56
 
mov       rcx,rbx
mov       rdx,7FFE7E537F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L57
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E55C930]
jmp       short M02_L61
M02_L58
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L59
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L59
jmp       short M02_L60
M02_L59
 
mov       rcx,rbx
mov       rdx,7FFE7E5376B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L60
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E557C30]
M02_L61
 
jmp       near ptr M02_L24
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L63
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FFE7E5365A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E556730]
jmp       near ptr M02_L24
M02_L65
 
test      eax,eax
je        near ptr M02_L72
test      r8d,r8d
jne       short M02_L68
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L66
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L66
jmp       short M02_L67
M02_L66
 
mov       rcx,rbx
mov       rdx,7FFE7E535B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L67
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E555C80]
jmp       short M02_L71
M02_L68
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L69
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L69
jmp       short M02_L70
M02_L69
 
mov       rcx,rbx
mov       rdx,7FFE7E5352F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L70
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5551B8]
M02_L71
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L72
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L73
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L73
jmp       short M02_L74
M02_L73
 
mov       rcx,rbx
mov       rdx,7FFE7E534940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L74
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5545B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E546850]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E546898]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA7FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA7EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE7E560980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE7E55FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE7E55FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA7EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E55FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E55FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA7EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE7D931050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE7E5460B8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE7E560810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE7E5460B8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE7E539410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E546928]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D931058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA7EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E562A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA7FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA74390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E562AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA7ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DF1EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA74390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E562B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA7ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DF1EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L16
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L17
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L17
jmp       short M02_L18
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-5C]
xor       eax,eax
jmp       near ptr M02_L19
M02_L16
 
mov       r15d,edx
jmp       short M02_L09
M02_L17
 
mov       rcx,rbx
mov       rdx,7FFE7E563880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L18
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E54E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,20F02C002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        short M02_L15
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE7E54F1C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
M02_L19
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE7E54F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L20
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE7E566E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E584480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE7E564950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE7DA743F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E562900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E54DE90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE7E5621C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E54D2C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,20F02C002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,20F02C002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE7E564950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE7DA743D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,20F02C14C08
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,20F02C14C00
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA74210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,20F02C14C08
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE7E54F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L20
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E56A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58F330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E569AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58E8B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE7E569050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58DE30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE7E5687C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58D3B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE7E567F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58C930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE7E5676B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E587C30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE7E5665A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E586730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE7E565B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E585C80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE7E5652F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5851B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE7E564940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5845B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E546850]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E546898]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA7FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA7EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE7E560980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE7E55FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE7E55FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA7EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E55FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E55FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA7EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE7D931050
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE7E5460B8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE7E560810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE7E5460B8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE7E539410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E546928]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D931058
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA7EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E562A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA7FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA74390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E562AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA7ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DF1EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA74390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E562B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA7ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DF1EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L16
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L17
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L17
jmp       short M02_L18
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-5C]
xor       eax,eax
jmp       near ptr M02_L19
M02_L16
 
mov       r15d,edx
jmp       short M02_L09
M02_L17
 
mov       rcx,rbx
mov       rdx,7FFE7E563880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L18
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E54E8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,219E90002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        short M02_L15
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE7E54F1C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
M02_L19
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE7E54F198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L20
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE7E566E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E584480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE7E564950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE7DA743F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E562900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E54DE90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE7E5621C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E54D2C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,219E90002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,219E90002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE7E564950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE7DA743D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,219E5012C10
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,219E5012C08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA74210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,219E5012C10
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE7E54F1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L20
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E56A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58F330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E569AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58E8B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE7E569050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58DE30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE7E5687C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58D3B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE7E567F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58C930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE7E5676B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E587C30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE7E5665A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E586730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE7E565B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E585C80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE7E5652F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5851B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE7E564940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5845B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E54C7B0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E54C7F8]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE7DA64360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA64360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA6EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE7E570980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE7E55FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE7E55FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA6EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E55FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E55FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA6EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE7D921160
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE7E54C018]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE7E570810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE7E55F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE7E54C018]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE7E53B620
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E54C888]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D921168
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA6EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E572A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E572AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA6ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DF0EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E572B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA6ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DF0EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L16
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L17
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L17
jmp       short M02_L18
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-5C]
xor       eax,eax
jmp       near ptr M02_L19
M02_L16
 
mov       r15d,edx
jmp       short M02_L09
M02_L17
 
mov       rcx,rbx
mov       rdx,7FFE7E573880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L18
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E584810]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,1C15D0002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        short M02_L15
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE7E5850E0]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
M02_L19
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE7E5850B0]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L20
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE7E576E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E586328]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE7E574950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE7DA643F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E572900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E54FB88]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE7E5721C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E54EFB8]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,1C15D0002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1C15D0002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE7E574950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE7DA643D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,1C159012C10
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,1C159012C08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA64210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1C159012C10
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE7E5850C8]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L20
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E57A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5B53B0]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E579AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E5B4930]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE7E579050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58FDB0]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE7E5787C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58F330]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE7E577F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58E8B0]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE7E5776B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58DE30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE7E5765A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E58C930]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE7E575B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E587B28]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE7E5752F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E587060]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE7E574940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E586460]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E647180]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E6471C8]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA4FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE7DA44360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA44360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA4EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE7E670980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE7E66F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE7E66FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE7E66FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA4EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E66FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E66FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA4EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE7D901368
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE7E66F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE7E6469E8]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE7E670810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE7E66F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE7E6469E8]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE7E6544A8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E647258]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D901370
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA4EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E672A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA4FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA44390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E672AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA4ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DEEEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA44390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E672B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA4ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DEEEAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L19
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L19
jmp       near ptr M02_L20
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-5C]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE7E64FA68]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L18
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L21
jmp       near ptr M02_L22
M02_L19
 
mov       rcx,rbx
mov       rdx,7FFE7E673880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L20
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E64F1C8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,2186CC002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE7E64FA98]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
jmp       near ptr M02_L17
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE7E676E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E694D20]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE7E674950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE7DA443F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E672900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E64E760]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE7E6721C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E64DB90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,2186CC002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,2186CC002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE7E674950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE7DA443D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,21870C07678
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,21870C07670
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA44210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,21870C07678
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE7E64FA80]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E67A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E69FDB0]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E679AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E69F330]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE7E679050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E69E8B0]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE7E6787C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E69DE30]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE7E677F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E69D3B0]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE7E6776B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E69C930]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE7E6765A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E696FD0]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE7E675B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E696520]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE7E6752F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E695A58]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE7E674940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E694E58]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.IEnumerable`1>>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2> ByRef)
xor       r8d,r8d
call      qword ptr [7FFE7E6F65E0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,offset MD_System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]](System.Collections.Generic.Dictionary`2>)
call      qword ptr [7FFE7E6F6628]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FFE7DA64360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FFE7DA64360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FFE7DA6EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer`1[[System.String, System.Private.CoreLib]]
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FFE7E706598
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FFE7E7055C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FFE7E705A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FFE7E705A78
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FFE7DA6EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FFE7E705B60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FFE7E705B80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FFE7DA6EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FFE7D921C00
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FFE7E7055C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FFE7E6F5E48]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FFE7E706428
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FFE7E7055C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FFE7E6F5E48]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FFE7E6EB230
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E6F66B8]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FFE7D921C08
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7DA6EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FFE7E708688
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FFE7DA6FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer`1[[System.String, System.Private.CoreLib]]
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E7086C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FFE7DA6ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FFE7DF0EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FFE7DA64390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E708788
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FFE7DA6ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FFE7DF0EAC0]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L19
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L19
jmp       near ptr M02_L20
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-5C]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FFE7E6FF198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L18
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L21
jmp       near ptr M02_L22
M02_L19
 
mov       rcx,rbx
mov       rdx,7FFE7E709498
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L20
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E6FE8F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,1FD838002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FFE7E6FF1C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
jmp       near ptr M02_L17
M02_L21
 
mov       rcx,rbx
mov       rdx,7FFE7E749A48
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E724480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FFE7E70A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FFE7DA643F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E708518
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FFE7E6FDE90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FFE7E707DD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E6FD2C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,1FD838002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1FD838002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FFE7E70A568
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FFE7DA643D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,1FD83814C08
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,1FD83814C00
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,offset System.Collections.Frozen.KeyAnalyzer+<>c.b__0_0(System.String, Int32, Int32)
call      qword ptr [7FFE7DA64210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1FD83814C08
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FFE7E6FF1B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E74CF80
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E72F330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E74C6F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E72E8B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FFE7E74BC68
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E72DE30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FFE7E74B3E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E72D3B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FFE7E74AB58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E72C930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FFE7E74A2D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E727C30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FFE7E70C1C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E726730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FFE7E70B7A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E725C80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FFE7E70AF10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E7251B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FFE7E70A558
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FFE7E7245B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,2146D014C28
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E525650]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,2146D001FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,2146D014C30
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E527660]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E52CCA8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E525290]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E525020]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E515190
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E527D98]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E53B418
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E53B270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E527600]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE7E515190
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E527D98]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E527750]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE7D911100
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE7E526940]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E53B430
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E53B250
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E52C1C8]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E539D38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE7E515190
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E527D98]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE7D911108
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE7D911108
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
je        short M02_L02
M02_L01
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L02
 
test      rsi,rsi
je        short M02_L03
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L04
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E526568]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L03
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E527660]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E527660]
mov       byte ptr [rbx+1C],1
jmp       short M02_L01
M02_L04
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L03
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,254FEE60008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,299A9014C28
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E5269E8]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,299A9001FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,299A9014C30
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E52CA08]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E52DFF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E526628]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E5263B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E519410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E52D140]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E545860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E5456B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E52C9A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE7E519410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E52D140]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E52CAF8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE7D910FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE7E527CD8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E545878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E545698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E52D518]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E544180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE7E519410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E52D140]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE7D910FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE7D910FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E527900]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E52CA08]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E52CA08]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,2DA3ACC0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,23DA4012C30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E5369E8]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,23DA8001FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,23DA4012C38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E53CA08]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E53DFF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E536628]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E5363B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E529410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E53D140]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E555860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E5556B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E53C9A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE7E529410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E53D140]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E53CAF8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE7DDD5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE7D920FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L27
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L27
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE7E537CD8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E555878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E555698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,rbx
mov       rdx,7FFE7E554180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L26
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E53D518]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       short M01_L30
M01_L28
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        near ptr M01_L25
jmp       short M01_L26
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE7E529410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E53D140]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE7D920FE8
call      qword ptr [r11]
jmp       short M01_L28
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE7D920FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E537900]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E53CA08]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E53CA08]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,27E35DA0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,20155007698
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E546778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,2014D001FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,201550076A0
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E54C7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E54DDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E5463B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E546148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E539010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E54CF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E565860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E5656B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E54C798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE7E539010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E54CF30]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E54C8E8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE7D930FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE7E547A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E565878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E565698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E54D308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E564180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE7E539010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E54CF30]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE7D930FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE7D930FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E547690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E54C7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E54C7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,241DEFD0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,23538412C30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E5269E8]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,2353C401FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,23538412C38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E52CA08]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E52DFF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E526628]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E5263B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E519410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E52D140]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E545860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E5456B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E52C9A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE7E519410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E52D140]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E52CAF8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE7D910FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE7E527CD8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E545878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E545698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E52D518]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E544180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE7E519410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E52D140]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE7D910FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE7D910FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E527900]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E52CA08]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E52CA08]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,275CA1B0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,22125C12C30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E556778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,22121C01FE8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,22125C12C38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E55C7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E55DDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E5563B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E556148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E5496C0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E55CF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E575860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E5756B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E55C798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FFE7E5496C0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E55CF30]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E55C8E8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FFE7D940FE0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FFE7E557A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E575878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E575698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E55D308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E574180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FFE7E5496C0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E55CF30]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FFE7D940FE8
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FFE7D940FE8
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E557690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E55C7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E55C7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,261B3B60008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,1E0F7414C28
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E686778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,1E0F7401FF0
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,1E0F7414C30
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E68C7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E68DDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6863B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E686148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E676AB0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E68CF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       r14,rcx
mov       rbx,rdx
mov       rdi,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      rdi,rdi
je        near ptr M01_L48
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L43
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-0E8],rax
test      rax,rax
je        near ptr M01_L25
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L25
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdi,[rcx+88]
test      rdi,rdi
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE7E6A5860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdi,rax
M01_L03
 
jmp       near ptr M01_L10
M01_L04
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L14
M01_L05
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       r11,rdi
mov       rcx,r8
mov       rdx,[rbp-50]
call      qword ptr [r11]
cmp       [r15],r15b
mov       r8,r15
M01_L06
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L15
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L13
mov       [rbp-54],eax
jle       short M01_L07
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L07
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L08
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E68C798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L09
 
cmp       dword ptr [rbp-78],1
jne       short M01_L10
mov       rax,[rbp-0E8]
inc       r12d
M01_L10
 
mov       rax,[rbp-0E8]
lea       r8,[rax+8]
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L11
 
mov       r10d,[r8+0C]
mov       r9,[r8]
cmp       r10d,[r9+38]
jae       near ptr M01_L42
mov       r9,[r9+10]
lea       ecx,[r10+1]
mov       [r8+0C],ecx
cmp       r10d,[r9+8]
jae       short M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L11
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
mov       [rbp-100],r8
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L16
M01_L14
 
mov       rcx,rbx
mov       rdx,7FFE7E6A56B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L05
M01_L15
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L16
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r8,[rcx+90]
test      r8,r8
je        short M01_L18
mov       r10,[rbp-0F0]
mov       [rbp-54],eax
M01_L17
 
mov       r9,[rbp-0F8]
mov       [rsp+20],r9
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,r10
call      qword ptr [7FFE7E687A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L41
jmp       near ptr M01_L08
M01_L18
 
mov       [rbp-54],eax
mov       rcx,rbx
mov       rdx,7FFE7E6A5878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,[rbp-0F0]
jmp       near ptr M01_L17
M01_L19
 
mov       rcx,rbx
mov       rdx,7FFE7E6A5860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
M01_L20
 
mov       r11,rax
mov       rcx,rdi
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       edi,eax
cmp       [r15],r15b
mov       r8,r15
M01_L21
 
cmp       qword ptr [r8+8],0
je        near ptr M01_L29
mov       ecx,[r8+18]
cmp       edi,ecx
je        near ptr M01_L34
jle       short M01_L22
mov       r8,[r8+10]
jmp       short M01_L21
M01_L22
 
mov       r8,[r8+8]
jmp       short M01_L21
M01_L23
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,edi
mov       r9,r13
call      qword ptr [7FFE7E68C798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L24
 
cmp       dword ptr [rbp-78],1
jne       short M01_L25
mov       rax,[rbp-0E8]
inc       r12d
M01_L25
 
mov       rax,[rbp-0E8]
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L37
lea       rcx,[rax+8]
mov       rdi,rcx
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L26
 
mov       r10d,[rdi+0C]
mov       r8,[rdi]
cmp       r10d,[r8+38]
jae       near ptr M01_L36
mov       r9,[r8+10]
lea       ecx,[r10+1]
mov       [rdi+0C],ecx
cmp       r10d,[r9+8]
jae       near ptr M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L26
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
M01_L27
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L32
M01_L28
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       rdi,r8
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rax,[rcx+88]
test      rax,rax
je        near ptr M01_L19
jmp       near ptr M01_L20
M01_L29
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L30
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r10,[rcx+90]
test      r10,r10
je        near ptr M01_L33
mov       rax,[rbp-0F0]
M01_L31
 
mov       r8,[rbp-0F8]
mov       [rsp+20],r8
mov       [rsp+28],r13
mov       r8,[r13+10]
mov       [rsp+30],r8
mov       [rsp+38],esi
lea       r8,[rbp-78]
mov       [rsp+40],r8
mov       r8,r10
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,rax
call      qword ptr [7FFE7E687A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       r8,[rbp-80]
mov       [rbp-0C0],r8
cmp       qword ptr [rbp-0D0],0
je        short M01_L35
mov       rax,[rbp-0E8]
jmp       near ptr M01_L23
M01_L32
 
mov       rcx,rbx
mov       rdx,7FFE7E6A56B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L28
M01_L33
 
mov       rcx,rbx
mov       rdx,7FFE7E6A5878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,r8
mov       rax,[rbp-0F0]
jmp       near ptr M01_L31
M01_L34
 
mov       rax,[rbp-0E8]
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L30
M01_L35
 
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,edi
call      qword ptr [7FFE7E68C8E8]
mov       r15,rax
jmp       near ptr M01_L24
M01_L36
 
mov       rax,[rbp-0E8]
mov       ecx,[r8+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L38
M01_L37
 
mov       rcx,rax
mov       r11,7FFE7D931328
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-0E8]
M01_L38
 
test      ecx,ecx
jne       near ptr M01_L27
mov       rax,[rbp-0E8]
jmp       short M01_L44
M01_L39
 
mov       ecx,717
mov       rdx,7FFE7E676AB0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E68CF30]
int       3
M01_L40
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L41
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E68C8E8]
mov       r15,rax
jmp       near ptr M01_L09
M01_L42
 
mov       rax,[rbp-0E8]
mov       ecx,[r9+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       short M01_L44
M01_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E6A5698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L44
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
je        short M01_L45
mov       rcx,rax
mov       r11,7FFE7D931330
call      qword ptr [r11]
M01_L45
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L46
jmp       short M01_L47
M01_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E6A4180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L47
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E68D308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [r14+8],eax
mov       rax,r14
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L48
 
mov       ecx,40B
mov       rdx,7FFE7E676AB0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E68CF30]
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L49
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L49
mov       rcx,rax
mov       r11,7FFE7D931330
call      qword ptr [r11]
M01_L49
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,7FFE7E683690
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E687690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E68C7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E68C7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,22189530008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,25E20012C30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary`2+Builder[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      qword ptr [7FFE7E6E6778]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,25E20012C50
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,25E20012C38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FFE7E6EC7F8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FFE7E6EDDE8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6E63B8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FFE7E6E6148]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FFE7E6DA850
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E6ECF30]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       r14,rcx
mov       rbx,rdx
mov       rdi,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      rdi,rdi
je        near ptr M01_L48
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L43
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-0E8],rax
test      rax,rax
je        near ptr M01_L25
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L25
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdi,[rcx+88]
test      rdi,rdi
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FFE7E6FB418
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdi,rax
M01_L03
 
jmp       near ptr M01_L10
M01_L04
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L14
M01_L05
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       r11,rdi
mov       rcx,r8
mov       rdx,[rbp-50]
call      qword ptr [r11]
cmp       [r15],r15b
mov       r8,r15
M01_L06
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L15
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L13
mov       [rbp-54],eax
jle       short M01_L07
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L07
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L08
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FFE7E6EC798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L09
 
cmp       dword ptr [rbp-78],1
jne       short M01_L10
mov       rax,[rbp-0E8]
inc       r12d
M01_L10
 
mov       rax,[rbp-0E8]
lea       r8,[rax+8]
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L11
 
mov       r10d,[r8+0C]
mov       r9,[r8]
cmp       r10d,[r9+38]
jae       near ptr M01_L42
mov       r9,[r9+10]
lea       ecx,[r10+1]
mov       [r8+0C],ecx
cmp       r10d,[r9+8]
jae       short M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L11
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
mov       [rbp-100],r8
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L16
M01_L14
 
mov       rcx,rbx
mov       rdx,7FFE7E6FB270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L05
M01_L15
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L16
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r8,[rcx+90]
test      r8,r8
je        short M01_L18
mov       r10,[rbp-0F0]
mov       [rbp-54],eax
M01_L17
 
mov       r9,[rbp-0F8]
mov       [rsp+20],r9
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,r10
call      qword ptr [7FFE7E6E7A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L41
jmp       near ptr M01_L08
M01_L18
 
mov       [rbp-54],eax
mov       rcx,rbx
mov       rdx,7FFE7E6FB430
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,[rbp-0F0]
jmp       near ptr M01_L17
M01_L19
 
mov       rcx,rbx
mov       rdx,7FFE7E6FB418
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
M01_L20
 
mov       r11,rax
mov       rcx,rdi
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       edi,eax
cmp       [r15],r15b
mov       r8,r15
M01_L21
 
cmp       qword ptr [r8+8],0
je        near ptr M01_L32
mov       ecx,[r8+18]
cmp       edi,ecx
je        near ptr M01_L35
jle       short M01_L22
mov       r8,[r8+10]
jmp       short M01_L21
M01_L22
 
mov       r8,[r8+8]
jmp       short M01_L21
M01_L23
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,edi
mov       r9,r13
call      qword ptr [7FFE7E6EC798]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L24
 
cmp       dword ptr [rbp-78],1
jne       short M01_L25
mov       rax,[rbp-0E8]
inc       r12d
M01_L25
 
mov       rax,[rbp-0E8]
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
jne       near ptr M01_L37
lea       rcx,[rax+8]
mov       rdi,rcx
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L26
 
mov       r10d,[rdi+0C]
mov       r8,[rdi]
cmp       r10d,[r8+38]
jae       near ptr M01_L36
mov       r9,[r8+10]
lea       ecx,[r10+1]
mov       [rdi+0C],ecx
cmp       r10d,[r9+8]
jae       near ptr M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L26
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
M01_L27
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L31
M01_L28
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       rdi,r8
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rax,[rcx+88]
test      rax,rax
je        near ptr M01_L19
jmp       near ptr M01_L20
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E6FB430
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,r8
mov       rax,[rbp-0F0]
M01_L30
 
mov       r8,[rbp-0F8]
mov       [rsp+20],r8
mov       [rsp+28],r13
mov       r8,[r13+10]
mov       [rsp+30],r8
mov       [rsp+38],esi
lea       r8,[rbp-78]
mov       [rsp+40],r8
mov       r8,r10
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,rax
call      qword ptr [7FFE7E6E7A68]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       r8,[rbp-80]
mov       [rbp-0C0],r8
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L34
mov       rax,[rbp-0E8]
jmp       near ptr M01_L23
M01_L31
 
mov       rcx,rbx
mov       rdx,7FFE7E6FB270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L28
M01_L32
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L33
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r10,[rcx+90]
test      r10,r10
je        near ptr M01_L29
mov       rax,[rbp-0F0]
jmp       near ptr M01_L30
M01_L34
 
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,edi
call      qword ptr [7FFE7E6EC8E8]
mov       r15,rax
jmp       near ptr M01_L24
M01_L35
 
mov       rax,[rbp-0E8]
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L33
M01_L36
 
mov       rax,[rbp-0E8]
mov       ecx,[r8+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L38
M01_L37
 
mov       rcx,rax
mov       r11,7FFE7D911BB0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-0E8]
M01_L38
 
test      ecx,ecx
jne       near ptr M01_L27
mov       rax,[rbp-0E8]
jmp       short M01_L44
M01_L39
 
mov       ecx,717
mov       rdx,7FFE7E6DA850
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E6ECF30]
int       3
M01_L40
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L41
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FFE7E6EC8E8]
mov       r15,rax
jmp       near ptr M01_L09
M01_L42
 
mov       rax,[rbp-0E8]
mov       ecx,[r9+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       short M01_L44
M01_L43
 
mov       rcx,rbx
mov       rdx,7FFE7E6FB250
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L44
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       [rax],rcx
je        short M01_L45
mov       rcx,rax
mov       r11,7FFE7D911BB8
call      qword ptr [r11]
M01_L45
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L46
jmp       short M01_L47
M01_L46
 
mov       rcx,rbx
mov       rdx,7FFE7E6F9D38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L47
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FFE7E6ED308]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [r14+8],eax
mov       rax,r14
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L48
 
mov       ecx,40B
mov       rdx,7FFE7E6DA850
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E6ECF30]
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L49
mov       rcx,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L49
mov       rcx,rax
mov       r11,7FFE7D911BB8
call      qword ptr [r11]
M01_L49
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FFE7E6E7690]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E6EC7F8]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FFE7E6EC7F8]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,29EB1DE0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,222DC801FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E524DF8]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E524E28]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E537C30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E537C50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E5261C0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E5261D8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D911078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E524E10]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E514CA8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E526A48]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D911080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2636A5F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1EA82001FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E5368B0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E5368E0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E552010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E552030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E537C78]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E537C90]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D921078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E5368C8]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E529410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E53C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D921080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,22B13FF0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,18645401FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E546640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E546670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E562010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E562030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E547A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E547A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D931078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E546658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E539010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E54C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D931080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1C6D7230008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,29902401FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E536640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E536670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E552010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E552030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E537A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E537A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D921078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E536658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E529010
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E53C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D921080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2D990330008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,20AD7801FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E5268B0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E5268E0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E542010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E542030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E527C78]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E527C90]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D911078
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E5268C8]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E519410
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E52C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D911080
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,24B69500008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1AF76401FD8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E546640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E546670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E562010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E562030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E547A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E547A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D931080
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E546658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E5396C0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E54C600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D931088
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1F004260008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1BD5B401FF0
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E667810]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E667840]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E692010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E692030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E66CD98]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E66CDB0]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D9113A0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E667828]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E6727A8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E66D620]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D9113A8
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1FDED400008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,17045C14C28
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FFE7E6F6640]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FFE7E6F6670]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FFE7E707C30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FFE7E707C50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6F7A08]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6F7A20]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FFE7D921AB0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FFE7E6F6658]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FFE7E6EACB0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7E6FC600]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FFE7D921AB8
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1B0D3A20008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,23D6DF10008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,26670E10008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,22BEC450008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1EB1E160008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1E3CB130008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,257E5F20008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1F78B1E0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2B7D71B0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E544C78]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E545938]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E5467C0]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6F48D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6F48E8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4B70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4B90
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E53ABB0]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D931120
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4BB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDD0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC76790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6F48D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6F4B70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E5467F0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D931128
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D931128
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1A669B50008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E556010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E556CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E55C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E705568
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E705580
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E705808
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E705828
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E54EE30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D941000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E705848
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDE0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC86790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E705568
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E705808
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E55C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D941008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D941008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,27DDF250008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E546010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E546CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E54C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6F5610
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5628
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6F58B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6F58D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E53EE30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D931000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6F58F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDD0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC76790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5610
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6F58B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E54C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1BA2B140008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E546010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E546CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E54C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6F5C48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5C60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5EE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5F08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E53EE30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D931000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5F28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDD0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC76790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5C48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6F5EE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E54C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2603D830008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E555DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E556A60]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E5578E8]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E705D70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E705D88
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E706010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E706030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E54EA30]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D941000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E706050
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDE0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC86790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E705D70
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E706010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E557918]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D941008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D941008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,15190970008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E546010]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E546CD0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E54C018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E6F6058
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E6F6070
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E6F62F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E6F6318
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E53F480]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D931000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E6F6338
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDD0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC76790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E6F6058
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA74360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E6F62F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E54C048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,24728000008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E6965E0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E6972A0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E69C750]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E76BA20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E76BA38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E76BCC0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E76BCE0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6A0BF8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D941320
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E76BD00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDE0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC86790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E76BA20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA84360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E76BCC0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E69C780]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D941328
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D941328
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,28F6F5C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FFE7E6E5DA0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FFE7DF7FB58]
mov       ecx,43
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDE6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF579C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA56B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF7F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC56718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FFE7E6E6A60]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FFE7E6E78E8]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FFE7E74BEB8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FFE7E74BED0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FFE7E74C158
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FFE7E74C178
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FFE7E6F06C8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FFE7D911BB0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FFE7E74C198
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FFE7DDC5E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FFE7DDB0658
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FFE7DC56790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FFE7E74BEB8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FFE7DA54360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FFE7E74C158
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FFE7E6E7918]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FFE7D911BB8
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FFE7D911BB8
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB05B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDC5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2407F0F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA6EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE7E517A50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
M01_L02
 
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,offset System.Runtime.InteropServices.MemoryMarshal.GetReference[TFrom](System.ReadOnlySpan`1)
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
mov       r12d,[r15+8]
cmp       r12d,r14d
ja        short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDD5B18]
int       3
M01_L09
 
call      qword ptr [7FFE7DDD5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA7EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE7E5299D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE7E5299F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FFE7DDE5E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDE5B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA6EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE7E519948
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE7E519960
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDD5B18]
int       3
M01_L09
 
call      qword ptr [7FFE7DDD5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA7EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        near ptr M01_L04
M01_L00
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L01
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       near ptr M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L03
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L04
 
mov       rdx,7FFE7E529948
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L00
M01_L05
 
mov       rdx,7FFE7E529960
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       near ptr M01_L01
M01_L07
 
xor       eax,eax
jmp       short M01_L03
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDE5B18]
int       3
M01_L09
 
call      qword ptr [7FFE7DDE5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA5EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE7E509948
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE7E509960
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FFE7DDC5E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDC5B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA7EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        near ptr M01_L04
M01_L00
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L01
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       near ptr M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L03
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L04
 
mov       rdx,7FFE7E529EE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L00
M01_L05
 
mov       rdx,7FFE7E529F00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       near ptr M01_L01
M01_L07
 
xor       eax,eax
jmp       short M01_L03
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDE5B18]
int       3
M01_L09
 
call      qword ptr [7FFE7DDE5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA6EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rcx,[rax]
M00_L00
 
mov       [rsp+28],rcx
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
M00_L01
 
xor       ecx,ecx
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+60]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE7E4981F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE7E498208
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FFE7DDD5E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDD5B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FFE7DA6EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rcx,[rax]
M00_L00
 
mov       [rsp+28],rcx
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
M00_L01
 
xor       ecx,ecx
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+60]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FFE7E498868
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FFE7E498880
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FFE7DDD5B18]
int       3
M01_L09
 
call      qword ptr [7FFE7DDD5E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E4E5680]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D941110
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D941120
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D941118
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDF7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,1B3
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA84348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L05
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA84348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L28
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L06
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L07
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E4BBE18
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E4BBE28
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       near ptr M01_L01
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E4BBE38
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L10
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L08
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L20
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L09
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L08
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L10
 
mov       rcx,rax
mov       r11,7FFE7D941128
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L11
 
test      ecx,ecx
je        near ptr M01_L22
M01_L12
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L13
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L15
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L17
M01_L14
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L16
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L09
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L14
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L15
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D941130
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L12
mov       rcx,rax
jmp       short M01_L19
M01_L16
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       short M01_L19
M01_L17
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L18
 
mov       rcx,rbx
mov       rdx,7FFE7E4BBE50
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L13
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L21
M01_L20
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L11
M01_L21
 
cmp       rsi,r15
je        near ptr M01_L04
mov       r11,7FFE7D941138
call      qword ptr [r11]
jmp       near ptr M01_L04
M01_L22
 
mov       rcx,rsp
call      M01_L33
nop
M01_L23
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
mov       ecx,10
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L26
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE7E4BBF20
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L29
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E4BBEF0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       near ptr M01_L23
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L31
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L31
jmp       short M01_L32
M01_L31
 
mov       rcx,rbx
mov       rdx,7FFE7E4BBF08
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L32
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FFE7D941138
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,29E3A820008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E4D6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D931110
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D931120
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D931118
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDE7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE7D931128
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D931130
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FFE7DDE7A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FFE7D931138
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FFE7D931138
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,287158E0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E4D6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D930FF0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D931000
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D930FF8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDE7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D931010
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FFE7DDE7A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FFE7D931018
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FFE7D931018
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,28C13720008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E4E6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D941110
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D941120
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D941118
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDF7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,1B3
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA84348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L05
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA84348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L28
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L06
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L07
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E4BDCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E4BDCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       near ptr M01_L01
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E4BDCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L10
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L08
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L20
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L09
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L08
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L10
 
mov       rcx,rax
mov       r11,7FFE7D941128
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L11
 
test      ecx,ecx
je        near ptr M01_L22
M01_L12
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L13
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L15
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L17
M01_L14
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L16
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L09
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L14
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L15
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D941130
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L12
mov       rcx,rax
jmp       short M01_L19
M01_L16
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       short M01_L19
M01_L17
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L18
 
mov       rcx,rbx
mov       rdx,7FFE7E4BDD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L13
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L21
M01_L20
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L11
M01_L21
 
cmp       rsi,r15
je        near ptr M01_L04
mov       r11,7FFE7D941138
call      qword ptr [r11]
jmp       near ptr M01_L04
M01_L22
 
mov       rcx,rsp
call      M01_L33
nop
M01_L23
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
mov       ecx,10
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L26
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE7E4BDDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L29
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E4BDDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       near ptr M01_L23
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L31
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L31
jmp       short M01_L32
M01_L31
 
mov       rcx,rbx
mov       rdx,7FFE7E4BDDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L32
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FFE7D941138
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,22274DF0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E4D6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D930FF0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D931000
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D930FF8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDE7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DF9FB58]
mov       ecx,43
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE06D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF779C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA76B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF9F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC76718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA74348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCD8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCE8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADCF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE7D931008
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FFE7DDE5E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADD10
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D931010
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FFE7DDE7A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FFE7E4ADDC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FFE7D931018
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,[rbp-48]
mov       r11,7FFE7D931018
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB25B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDE5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2B92B650008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E4E6F58]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D940FF0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D941000
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D940FF8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDF7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,1B3
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DFAFB58]
mov       ecx,43
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DE16D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF879C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA86B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DFAF948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC86718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA84348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L05
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA84348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L28
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L06
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L07
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E4BE2C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E4BE2D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       near ptr M01_L01
M01_L06
 
mov       rcx,rbx
mov       rdx,7FFE7E4BE2E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L10
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L08
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L20
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L09
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L08
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L10
 
mov       rcx,rax
mov       r11,7FFE7D941008
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L11
 
test      ecx,ecx
je        near ptr M01_L22
M01_L12
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L13
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L15
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L17
M01_L14
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L16
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L09
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L14
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L15
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D941010
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L12
mov       rcx,rax
jmp       short M01_L19
M01_L16
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       short M01_L19
M01_L17
 
call      qword ptr [7FFE7DDF5E00]
int       3
M01_L18
 
mov       rcx,rbx
mov       rdx,7FFE7E4BE2F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L13
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L21
M01_L20
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L11
M01_L21
 
cmp       rsi,r15
je        near ptr M01_L04
mov       r11,7FFE7D941018
call      qword ptr [r11]
jmp       near ptr M01_L04
M01_L22
 
mov       rcx,rsp
call      M01_L33
nop
M01_L23
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
mov       ecx,10
call      qword ptr [7FFE7DDF7A38]
int       3
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L26
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FFE7E4BE3C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L29
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E4BE398
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       near ptr M01_L23
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L31
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L31
jmp       short M01_L32
M01_L31
 
mov       rcx,rbx
mov       rdx,7FFE7E4BE3B0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L32
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FFE7D941018
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB35B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDF5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1BB7D470008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E5FC738]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D921338
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D921348
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D921340
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDD7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E6176B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E6176C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E6176D8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L19
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L18
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE7D921350
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L19
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D921358
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L16
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
M01_L16
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L17
 
mov       rcx,rbx
mov       rdx,7FFE7E6176F0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L19
 
call      qword ptr [7FFE7DDD5E00]
int       3
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FFE7DDD7A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E6177C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FFE7E617790
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E6177A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FFE7D921360
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FFE7D921360
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2028AED0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.15 (8.0.1525.16413), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,offset MD_System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>>, Boolean ByRef)
call      qword ptr [7FFE7E686F28]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D921BC8
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FFE7D921BD8
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FFE7D921BD0
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FFE7DDD7A98]
int       3
M00_L03
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,1B3
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FFE7DF8FB58]
mov       ecx,43
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1AC2
mov       rdx,7FFE7DDF6D80
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FFE7DF679C0
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FFE7DA66B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FFE7DF8F948]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FFE7DC66718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FFE7DA64348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FFE7E67D5E8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FFE7E67D5F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FFE7E67D608
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L19
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L18
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FFE7D921BE0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L19
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FFE7D921BE8
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L16
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
M01_L16
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L17
 
mov       rcx,rbx
mov       rdx,7FFE7E67D620
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L19
 
call      qword ptr [7FFE7DDD5E00]
int       3
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FFE7DDD7A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FFE7E67D6F0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FFE7E67D6C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FFE7E67D6D8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FFE7D921BF0
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary`2+Enumerator[[System.String, System.Private.CoreLib],[DotNetTips.Spargine.Tester.Models.RefTypes.Person`1[[DotNetTips.Spargine.Tester.Models.RefTypes.Address, DotNetTips.Spargine.8.Tester]], DotNetTips.Spargine.8.Tester]]
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FFE7D921BF0
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      System.String.FastAllocateString(Int32)
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FFE7DB15B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FFE7DDD5D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1E724FD0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret